package com.lxg.ai.controller;

import com.lxg.ai.enums.PersonalityTrait;
import dev.langchain4j.classification.EmbeddingModelTextClassifier;
import dev.langchain4j.model.embedding.EmbeddingModel;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.GetMapping;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import java.util.List;

/**
 * 做一个 小小的向量分类器代码
 */
@RestController
@RequestMapping("/embeddingClassifier")
public class EmbeddingClassifierController {

    @Autowired
    private EmbeddingModelTextClassifier<PersonalityTrait> textClassifier;

    /**
     * 查看是什么类型的
     *
     *
     * 源码就是 将com.lxg.ai.config.EmbeddingClassifierConfig#examples的项示例进过向量化后存储在本地
     *
     * 再将textClassifier.classify("赠人玫瑰，手有余香和爱玩");内容进行向量化后 再本地进行向量比对。
     */
    @GetMapping("/analyzePersonality")
    public void analyzePersonality() {
        List<PersonalityTrait> classify = textClassifier.classify("赠人玫瑰，手有余香和爱玩");
        System.out.println(classify);
    }


}
